#ifndef HELPER_H
#define HELPER_H

#include <QObject>

class Helper {
  Q_GADGET
public:
  enum InfoType : int {
    System,
    Custom,
    Media,
    Window,
    Workspace,
    InfoType_MAX_COUNT
  };
  Q_ENUM(InfoType)

  enum Filter : uint {
    F_System = 1u,
    F_Custom = 1u << 1,
    F_Media = 1u << 2,
    F_Window = 1u << 3,
    F_Workspace = 1u << 4,
    F_All = F_System | F_Custom | F_Media | F_Window | F_Workspace
  };
  Q_FLAG(Filter)
  Q_DECLARE_FLAGS(Filters, Filter)

  enum InfoShow : uint {
    None = 0,
    ID = 1u,
    Name = 1u << 1,
    Type = 1u << 2,
    Shortcut = 1u << 3,
    Exec = 1u << 4,
    All = ID | Name | Type | Shortcut | Exec
  };
  Q_FLAG(InfoShow)
  Q_DECLARE_FLAGS(InfoShows, InfoShow)

private:
  void translation() {
    QObject::tr("System");
    QObject::tr("Custom");
    QObject::tr("Media");
    QObject::tr("Window");
    QObject::tr("Workspace");
  }
};

#endif // HELPER_H
